מינימיזציה של DFA מינימיזציה של הקנוני שאותה ראינו בסעיף הקודם. בנוסף, נוכיח את יחידות האוטומט המינימלי בכך שנראה שכל אוטומט על ידי שינוי שמות

Σχετικά έγγραφα
פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד

Regular Expressions (RE)

יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012)

לוגיקה ותורת הקבוצות פתרון תרגיל בית 8 חורף תשע"ו ( ) ... חלק ראשון: שאלות שאינן להגשה נפריד למקרים:

אוטומט סופי דטרמיניסטי מוגדר ע"י החמישייה:

לוגיקה ותורת הקבוצות פתרון תרגיל בית 4 אביב תשע"ו (2016)

ל הזכויות שמורות לדפנה וסטרייך

{ : Halts on every input}

Logic and Set Theory for Comp. Sci.

פתרון תרגיל מרחבים וקטורים. x = s t ולכן. ur uur נסמן, ur uur לכן U הוא. ur uur. ur uur

הגדרה: מצבים k -בני-הפרדה

( )( ) ( ) f : B C היא פונקציה חח"ע ועל מכיוון שהיא מוגדרת ע"י. מכיוון ש f היא פונקציהאז )) 2 ( ( = ) ( ( )) היא פונקציה חח"ע אז ועל פי הגדרת

gcd 24,15 = 3 3 =

חורף תש''ע פתרון בחינה סופית מועד א'

לדוגמה: במפורט: x C. ,a,7 ו- 13. כלומר בקיצור

שדות תזכורת: פולינום ממעלה 2 או 3 מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה. שקיימים 5 מספרים שלמים שונים , ראשוני. שעבורם

מתמטיקה בדידה תרגול מס' 5

= 2. + sin(240 ) = = 3 ( tan(α) = 5 2 = sin(α) = sin(α) = 5. os(α) = + c ot(α) = π)) sin( 60 ) sin( 60 ) sin(

פתרון תרגיל 8. מרחבים וקטורים פרישה, תלות \ אי-תלות לינארית, בסיס ומימד ... ( ) ( ) ( ) = L. uuruuruur. { v,v,v ( ) ( ) ( ) ( )

c ארזים 26 בינואר משפט ברנסייד פתירה. Cl (z) = G / Cent (z) = q b r 2 הצגות ממשיות V = V 0 R C אזי מקבלים הצגה מרוכבת G GL R (V 0 ) GL C (V )

brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק

משוואות רקורסיביות רקורסיה זו משוואה או אי שוויון אשר מתארת פונקציה בעזרת ערכי הפונקציה על ארגומנטים קטנים. למשל: יונתן יניב, דוד וייץ

גבול ורציפות של פונקציה סקלרית שאלות נוספות

מודלים חישוביים פתרון תרגיל 5

צעד ראשון להצטיינות מבוא: קבוצות מיוחדות של מספרים ממשיים

x a x n D f (iii) x n a ,Cauchy

תרגיל 13 משפטי רול ולגראנז הערות

דף פתרונות 7 נושא: תחשיב הפסוקים: צורה דיסיונקטיבית נורמלית, מערכת קשרים שלמה, עקביות

אוטומטים- תרגול 8 שפות חסרות הקשר

[ ] Observability, Controllability תרגול 6. ( t) t t קונטרולבילית H למימדים!!) והאובז' דוגמא: x. נשתמש בעובדה ש ) SS rank( S) = rank( עבור מטריצה m

תורת הקבוצות תרגיל בית 2 פתרונות

לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ב (2012) דפי עזר

מתמטיקה בדידה תרגול מס' 13

פתרון תרגיל 6 ממשוואות למבנים אלגברה למדעי ההוראה.

ניתן לקבל אוטומט עבור השפה המבוקשת ע "י שימוששאלה 6 בטכניקתשפה המכפלה שנייה כדי לבנות אוטומט לשפת החיתוך של שתי השפות:

ביטויים רגולריים הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353) הרצאה 5

הרצאה נושאי הקורס 0.2 א"ב ומילים 0.3 שפות 1. מהו חישוב? 2. מהו מחשב? 3. מהו אלגוריתם? 4. מה ניתן לחשב? מה לא ניתן?

לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ד (2014) דפי עזר

אלגברה מודרנית פתרון שיעורי בית 6

פתרון תרגיל בית 6 מבוא לתורת החבורות סמסטר א תשע ז

אינפי - 1 תרגול בינואר 2012

מתכנס בהחלט אם n n=1 a. k=m. k=m a k n n שקטן מאפסילון. אם קח, ניקח את ה- N שאנחנו. sin 2n מתכנס משום ש- n=1 n. ( 1) n 1

אלגברה ליניארית (1) - תרגיל 6

תרגול 1 חזרה טורי פורייה והתמרות אינטגרליות חורף תשע"ב זהויות טריגונומטריות

סיכום בנושא של דיפרנציאביליות ונגזרות כיווניות

קובץ שאלות ופתרונות של שאלות ממבחנים מנושאים שונים

I. גבולות. x 0. מתקיים L < ε. lim אם ורק אם. ( x) = 1. lim = 1. lim. x x ( ) הפונקציה נגזרות Δ 0. x Δx

תרגול מס' 6 פתרון מערכת משוואות ליניארית

טענה חשובה : העתקה לינארית הינה חד חד ערכית האפס ב- הוא הוקטור היחיד שמועתק לוקטור אפס של. נקבל מחד חד הערכיות כי בהכרח.

מודלים חישוביים תרגולמס 5

מודלים חישוביים, חישוביות וסיבוכיות (חישוביות) 67521

תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשע"ד, מיום 0/8/0610 שאלונים: 315, מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן

שפות פורמאליות אוטומטים

אוטומטים, שפות פורמליות ו ח ישוּב יוּת

רשימת משפטים והגדרות

שפות פורמאליות אוטומטים

הגדרה: קבוצת פעילויות חוקית היא קבוצה בה כל שתי פעילויות

תרגול פעולות מומצאות 3

חלק 1 כלומר, פונקציה. האוטומט. ) אותיות, אלפבית, א"ב (.

אוטומטים ושפות פורמליות תרגולים


תורת הקבוצות יובל קפלן סיכום הרצאות פרופ ארז לפיד בקורס "תורת הקבוצות" (80200) באוניברסיטה העברית,

co ארזים 3 במרץ 2016

הרצאה תרגילים סמינר תורת המספרים, סמסטר אביב פרופ' יעקב ורשבסקי

קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים.

. {e M: x e} מתקיים = 1 x X Y

מבוא ללוגיקה מתמטית 80423

1 תוחלת מותנה. c ארזים 3 במאי G מדיד לפי Y.1 E (X1 A ) = E (Y 1 A )

פרק 8: עצים. .(Tree) במשפטים הגדרה: גרף ללא מעגלים נקרא יער. דוגמה 8.1: תרגילים: הקודקודים 2 ו- 6 בדוגמה הוא ).

אלגברה לינארית 1 יובל קפלן

חישוביות הרצאה 4 לא! זיהוי שפות ע''י מכונות טיורינג הוכחה: הגדרת! : f r

A-PDF Merger DEMO : Purchase from to remove the watermark

תורת הקבוצות ניר אדר ניר אדר.

3-9 - a < x < a, a < x < a

תרגול מס' 1 3 בנובמבר 2012

logn) = nlog. log(2n

תכנון אלגוריתמים 2016 עבודה 1 שאלה 1 פתרון נתונות שתי בעיות. יש למצוא: אורך מסלול קצר ביותר המתחיל באחד מן הקודקודים s 1,..., s k ומסתיים ב t.

סיכום לינארית 1 28 בינואר 2010 מרצה: יבגני סטרחוב מתרגלת: גילי שול אין המרצה או המתרגלת קשורים לסיכום זה בשום דרך.

אלגברה ליניארית 1 א' פתרון 2

חשבון אינפיניטסימלי 1

תרגיל 7 פונקציות טריגונומטריות הערות

אוטומטים ושפות פורמליות מבוא לתורת החישוביות

תורת הקבוצות מושגי יסוד בתורת הקבוצות קבוצה אוסף של אלמנטים הנקראים אברי הקבוצה. אין חשיבות לסדר האיברים בקבוצה. אין חשיבות לחזרות.

תרגול משפט הדיברגנץ. D תחום חסום וסגור בעל שפה חלקה למדי D, ותהי F פו' וקטורית :F, R n R n אזי: נוסחת גרין I: הוכחה: F = u v כאשר u פו' סקלרית:

חשבון אינפיניטסימלי 1 סיכום הרצאות באוניברסיטה חיפה, חוג לסטטיסטיקה.

כלליים זמן: S מחסנית, top(s) ראש המחסנית. (Depth First Search) For each unmarked DFS(v) / BFS(v) רקורסיבי. אלגוריתם :BFS

מודלים חישוביים, חישוביות וסיבוכיות 67521

בעיות חשיבות: :(State transition system) STS מושגים: רדוקציה: f אינה חשיבה g אינה חשיבה; בבעיות הכרעה: f לא כריעה g לא כריעה.

מודלים חישוביים, חישוביות וסיבוכיות

TECHNION Israel Institute of Technology, Faculty of Mechanical Engineering מבוא לבקרה (034040) גליון תרגילי בית מס 5 ציור 1: דיאגרמת הבלוקים

תורת המספרים 1 פירוק לגורמים ראשוניים סיכום הגדרות טענות ומשפטים אביב הגדרות 1.2 טענות

פתרונות , כך שאי השוויון המבוקש הוא ברור מאליו ולכן גם קודמו תקף ובכך מוכחת המונוטוניות העולה של הסדרה הנתונה.

אלגוריתמים בתורת הגרפים חלק ראשון

אוטומטים ושפות פורמליות מבוא לתורת החישוביות

קיום ויחידות פתרונות למשוואות דיפרנציאליות

רשימת בעיות בסיבוכיות

1 סכום ישר של תת מרחבים

מודלים חישוביים מבחן מועד א', סמסטר א' תשע''ה (2015)

מודלים חישוביים, חישוביות וסיבוכיות 67521

אלגוריתמים בתורת הגרפים חלק שני

Transcript:

מינימיזציה של DFA L. הוא אוטמומט מינימלי עבור L של שפה רגולרית A ראינו בסוף הסעיף הקודם שהאוטומט הקנוני קיים A DFA בכך הוכחנו שלכל שפה רגולרית קיים אוטומט מינמלי המזהה אותה. זה אומר שלכל נקרא A A לאוטומט מינימלי שקול ל- DFA המעבר מ- A. שקול ל- אוטומט מינימלי, שהוא DFA A. בסעיף זה נציג אלגוריתם למינימיזציה של אוטומט, ללא שימוש בבניה של האוטומט מינימיזציה של הקנוני שאותה ראינו בסעיף הקודם. בנוסף, נוכיח את יחידות האוטומט המינימלי בכך שנראה שכל אוטומט על ידי שינוי שמות A שמתקבל מ- A הוא בעצם העתק מדוייק של L מינימלי שמזהה את השפה המצבים בלבד. שקילות מצבים באוטומט.A מצבים ב- q, p Q, DFA ויהיו F A = Q, Σ, δ, q, יהי,δ(p, z) F δ(q, z) F שמקיימת z Σ היא מילה p q מילה מפרידה בין המצבים או להיפך. ניתנים להפרדה. p q p, אומרים שהמצבים q אם קיימת מילה מפרידה בין לא אינם ניתנים להפרדה, כלומר אם p q,qep אם, ורשמים p q שקול ל- אומרים ש-. p q קיימת מילה מפרידה בין. δ(p, z) F δ(q, z) F מתקיים: z Σ לכל מילה qep לפי ההגדרות, A. של Q הוא יחס שקילות על קבוצת המצבים E קל לבדוק ש- יחס השקילות E על Q משמר את קבוצת המצבים הסופיים F. הכוונה היא שעבור שני מצבים p. F זה אומר שמצב מקבל ומצב לא מקבל לא יכולים q, F אז qep,q: p Q אם להופיע ביחד באותה מחלקת שקילות, כי המילה הריקה מפרידה בין כל מצב מקבל וכל מצב לא מקבל. אם יש במחלקת שקילות מצב מקבל, אז כל המצבים באותה מחלקה הם מצבים מקבלים. אותו דבר נכון למצבים לא מקבלים. ומתקיים:,E היא קבוצת כל מחלקות השקילות השונות של היחס Q E = { [q] q Q }.Q ב-, qep Q E ב-,[q] = [p] q A, אז מבחינת האוטומט לא משנה אם הוא נמצא במצב הם שני מצבים שקולים ב- DFA p q אם q, לא יכולה להיות שונה או במצב p. תוצאת הריצה (קבלה/דחיה) שלו על מילה כלשהי שמתחילה מ- q p. נראה שבמקרה זה, נוכל לצמצם את שני המצבים מתוצאת הריצה על אותה מילה שמתחילה מ- p למצב אחד, מבלי לשנות את שפת האוטומט. להלן נתאר דרך לצמצום DFA על ידי זיהוי מצבים שקולים E למצב אחד באוטומט המצומצם, כל זאת כמובן, בלי באוטמט, וצמצום כל מחלקת שקילות של היחס לשנות את שפת האוטומט. 0 q 0 0 q 3 2 q 4. δ(q, z) F δ(q, z) F 0 q q דוגמה : A משמאל, נקרא לו DFA ב- 0 היא מילה מפרידה. ניתנים להפרדה, q q 0 היא מילה מפרידה. ניתנים להפרדה, q q 0 היא מילה מפרידה. ניתנים להפרדה, q q ε היא מילה מפרידה. ניתנים להפרדה, q q שקולים. q q כלומר אינם ניתנים להפרדה, q q זה נכון כי עבור מילה {0,} z מתקיים:. δ(q, z) F z 0(0 + ) δ(q, z) F הם מצבים שקולים, כי לכל {0,} z מתקיים כמו כן,.[q ] = {q, q } [q ] = {q, q }, [q ] = {q } מחלקות השקילות השונות של היחס E. Q E = {[q ], [q ], [q ] } הן:

[q ] 0, [q ] 0 A, שהרי 0, אם נאחד את כל המצבים בכל מחלקת שקילות [q]), למצב אחד (שנסמנו ב- A באוטומט [q] ] q]. A כל האוטומט משמאל, שנקרא לו נקבל את מצבים שונים באוטומט זה ניתנים להפרדה, שני שקול ל- A כלומר, אין באוטומט זה מצבים שקולים שונים. כמו כן. L(A ) = L(A) = (0 + ) 0(0 + ). A נקרא צמצום של האוטומט A ל- A המעבר הזה מ- DFA צמצום של אוטומט הגדרה: A DFA שכל שני מצבים שונים בו ניתנים להפרדה נקרא אוטומט מצומצם. זהו שני מצבים שונים שקולים, כלומר, כל מצב בו שקול אך ורק לעצמו. שאין בו למשל, האוטומט בדוגמה הקודמת הוא אוטומט מצומצם, וקל לבדוק זאת (כלומר, למצוא מילה מפרידה בין כל שני מצבים שונים ב- A). A.A A קיים אוטומט מצומצם, A משפט: לכל DFA שקול ל- להוכחת משפט זה נציג בניה שבהינתן DFA כלשהו F, A = Q, Σ, δ, q, בונה אוטומט מצומצם.DFA בניה זו נקראת צמצום של.A שקול ל- A = Q, Σ, δ, q, F.Q.A E A הבניה:, A = Q, Σ, δ, q, F כאשר: המצבים ב- הם מחלקות השקילות של היחס על. Q E = { [q] q Q } ]. q = q] המצב ההתחלתי ב- A הוא מחלקת השקילות של המצב בבתחלתי ב- המצבים הסופיים ב- A הם מחלקות השקילות של.δ ( [q], ) = [δ(q, )]. F = Q = Q E = { [q] q F } המצבים הסופיים ב- A. פונקצית המעברים δ : Q Σ Q מוגדרת על ידי הוכחת נכונות הבניה: כדי להוכיח את נכונות הבניה הזו, נוכיח מספר טענות: A הוא DFA מוגדר היטב. בבניה זו היא הגדרה טובה שאינה תלויה בנציגים של מחלקות הוכחה: צריך להראות שהגדרת האוטומט F מוגדרת היטב (ii) δ מוגדרת היטב (i) השקילות המופיעים בה. ספיציפית עלינו להראות:.[δ(q, )] = [δ(p, )] נוכיח כי. [q] = [p] וכי q, p Q מוגדרת היטב, נניח כי δ די להוכיח ש- (i) ( δ(p, הם מצבים לא שקולים, כלומר אז ( δ(q, [(.[δ(q, [( [δ(p, לשם כך נניח בשליליה ש- δ( δ(q, ), z ) F ).δ(p, זה אומר ש- שמפרידה בין ) δ(q, קיימת מילה Σ z, δ(p, z) F או להפך. δ(q, z) F,δ( δ(p, ), z ) F או להפך. את זה נוכל לרשום בצורה אינם שקולים, כלומר p q, p ולכן q היא מילה מפרידה בין v = z זה אומר שהמילה שהמילה [p],[q] בסתירה להנחה. F. משמר את Q מוגדרת היטב נובעת ישר מהעובדה שיחס השקילות על F העובדה ש- (ii) A.q Q ההרחבה של פונקציית המעברים δ מקיימת w)],δ ([q], w) = [δ(q, לכל Σ w הוכחה: באינדוקציה על אורך.w עבור δ ([q], ε) = [q] = [δ(q, ε)] :w = ε ת. הי Σ w ויהי. Σ נניח כי w)],δ ([q], w) = [δ(q, ונוכיח כי w)]. δ ([q], w) = [δ(q, ואכן: δ ([q], w) = δ (δ ([q], w), ) = δ ([δ(q, w)], ) = [δ(δ(q, w), )] = [δ(q, w)] הרחבת הנחת אינד הגד הרחבת 2

A הוא אוטומט מצומצם. הוכחה: כדי להוכיח ש- A הוא אוטומט מצומצם, יהיו [q] [p] מצבים שונים ב- A, נראה כי [q] [p] ניתנים להפרדה. לשם כך עלינו להראות שקיימת מילה Σ z כך ש- δ ( [q], z ) F,(A ניתנים להפרדה (ב- p q הרי המצבים [q] [p] או להפך. ואכן, היות, δ ( [p], z ) F כלומר, קיימת מילה מילה Σ z כך ש- δ(q, z) F, δ(p, z) F או להפך. מכאן, לפי הגדרת F נקבל ש- [δ(q, z)] F [δ(p, z)] F, או להפך. לפי תכונת ההרחבה של δ שהוכחנו בטענה הקודמת, זה אומר ש- δ ( [q], z) F, δ ( [p], z ) F או להפך. סיימנו. : w Σ ואכן, לכל מילה.L(A ) = L(A) A. שקול ל- הוכחה: צריך להראות ש- A [δ(q, w)] F הרחבת δ ([q ], w) F הגדרת δ (q, w) F הגדרת ) ( w L(A ) הגדרת () הגדרת L(A). w על כן L(A),L(A ) = כנדרש. δ(q, w) F זה מסיים את הוכחת נכונות הבניה (צמצום אוטומט), ומסיים את הוכחת המשפט. כדי לצמצם A =,Q,Σ δ, q, F DFA צריך דבר ראשון לחשב את מחלקות השקילות של היחס E על Q F = או F = (אם.Q F F נציג אלגוריתם שיאפר לנו לעשות זאת. נניח כי.Q אז לא יהיו באוטומט זוגות מצבים שניתנים להפרדה, כלומר כל מצבי האוטומט יהיו שקולים זה לזה). נשים לב שהנחה זו מחייבת שמספר המצבים באוטומט יהיה לפחות 2. נפתח אלגוריתם דינמי שמחשב בשלבים את כל זוגות המצבים הניתנים להפרדה באוטומט A. באיתחול (שלב 0), האלגוריתם יסמן את את זוגות המצבים שניתנים להפרדה על ידי ε, בשלב הוא יסמן את זוגות המצבים הניתנים להפרדה על ידי מילה מאורך אחד, בשלב 2 הוא יסמן את זוגות המצבים הניתנים להפרדה על ידי מילה מאורך 2, וכן האלה. האלגוריתם יתבסס על הלמה הבאה. למה: יהי F,DFA A = Q, Σ, δ, q, יהיו q, p Q מצבים שונים, ותהי Σ.z א. ב. אם z = ε אז: z מפרידה בין q q F p, p F או להפך. אם z ε אז z = v כאשר Σ Σ, v ומקרה זה.δ(p, ) δ(q, ) מפרידה בין v p q מפרידה בין z, δ(p, ε) F או δ(q, ε) F p q ε מפרידה בין p q מפרידה בין הוכחה: א. z, p F או להפך. F q להפך,δ(p, v) F או להפך δ(q, v) F p q v מפרידה בין p q מפרידה בין z ב..δ(p, ) δ(q, ) מפרידה בין v או להפך, δ(δ(p, ), v) F δ(δ(q, ), v) F ננסח כעת אלגוריתם שיאפשר לנו לחשב את מחלקות השקילות השונות של היחס E עבור DFA נתון A. אלגוריתם (זיהוי מצבים שקולים).A = Q, Σ, δ, q, F קלט: DFA. q, p Q הם מצבים שקולים שונים EQ = {q, p} פלט:.{q, p} X לכל Δ({q, p}) = φ,x = {q, p} הם מצבים שונים q, p Q צעדים:..Δ({q, p}) = x p F או להפך, סמן q F :{q, p} X אם לכל.2 בצע:,{q, p} X לכל.3 הבא. כלומר, דלג על זוגות שכבר סומנו Δ({q, ({p = x,עבור לזוג {p,q} אם i. 3

Δ({q, p}) = x ואם כן סמן, Δ({δ(q, ), δ(p, )}) = x בדוק אם : Σ לכל.ii ועבור לזוג המצבים {p,q} הבא. אם בביצוע צעד 3 סומנו זוגות {p,q} חדשים, חזור ל- 3. החזר: } φ.eq = { {q, p} X Δ({q, p}) =.4.5 בביצוע צעד 2, האלגוריתם מסמן את קבוצת כל הזוגות (הלא סדורים) {p,q} באוטומט שניתנים להפרדה על ידי ε. בביצוע צעד 3 פעם ראשונה, האלגוריתם מסמן את כל הזוגות הניתנים להפרדה על ידי מילה מאורך. עם סיום ביצוע צעד 3 פעם ראשונה, כל הזוגות {p,q} שניתנים להפרדה על ידי מילה מאורך k פעמים, אז, לפי הלמה, בתום הביצוע כל כבר סומנו (לפי הלמה). אם האלגוריתם מבצע את צעד 3 הזוגות {p,q} שניתנים להפרדה על ידי מילה מאורך k כבר סומנו. כדי לסיים את הוכחת הנכונות של האלגוריתם, נוכיח עוד למה. נסמן למה: יהי F,DFA A = Q, Σ, δ, q, ונניח כי מספר המצבים ב- A הוא Q.n = אז עבור :q, p Q אם q p ניתנים להפרדה, אז הם ניתנים להפרדה על ידי מילה z מאורך 2 n. הוכחה: נשתמש בסימוני האלגוריתם. נסמן: q, p ניתנים להפרדה,S = {q, p} X ולכל 0 i, S = S q, p ניתנים להפרדה ע"י מילה z מאורך i. S = {q, p} X אז יש לנו. S = {q, p} X או להפך, p F ו q F S S S כעת נסתכל בסדרת ההכלות. S S S חלק מההכלות פה הן הכלות ממש וחלק הן שוויונים. i ולכן קיים 0,( S S X n 2 לא יתכן שכל ההכלות בסדרה זו הן הכלות ממש (כי לכל i: כך ש-.S = S כעת נוכיח: טענה: בסדרת ההכלות, S S S אם S = S אז.S = S (כלומר, אחרי השוויון הראשון שיופיע בסדרת ההכלות, כל ההכלות תהיינה שוויונים).,S = S ונראה כי.S = S לשם כך עלינו רק להראות כי.S S הוכחת הטענה: נניח ש- מאורך z {q, p} S קיימת מילה היות ואכן, יהי {q, p} S, נראה כי {q, p} S.. {q, p} S ולכן i + היא מאורך z אז בוודאי,z = ε אם. p q המפרידה בין i + 2 +,i ולפי הלמה הקודמת Σ v היא מילה מאורך Σ כאשר z = v אז z ε אם S = S ולפי ההנחה ש-, {δ(q, ), δ(p, ) } S מבכאן ש-.δ(p, ) δ(q, ) מפרידה בין v המפרידה בין ) δ(q, i מאורך u.{δ(q, ), δ(p, ) } S זה אומר שקיימת מילה נסיק כי. {q, p} S ולכן,p q והיא מפרידה בין i + היא מאורך w u מכאן שהמילה.δ(p, ) היא סדרה סופית, כלומר, קיים S S S זה מסיים את הוכחת הטענה. מטענה זו ומההערה לפניה נקבל שסדרת ההכלות. S = S = S = S בנוסף,. S = S :i k ולכל, S S S כך ש- k 0 שני מצבים שונים באוטומט הם ניתנים להפרדה אם ורק אם הם ניתנים משמעות השוויון האחרון היא: n. 2 k k. כדי לסיים את הוכחת הלמה, נשאר להראות כי להפרדה על ידי מילה מאורך עבור,,q p Q, Q באופן הבא: על 0 i, יחס שקילות כדי לעשות זאת, נגדיר, לכל ( i p q E או {q, p} S (כלומר, אינם ניתנים להפרדה על ידי מילה מאורך. δ(p, z) F δ(q, z) F מתקיים:,i מאורך z Σ q = p qe p qe p במלים אחרות: לכל קל לבדוק שאלה אכן יחסי שקילות על,Q וכי מתקיים: E = E. E E E לפי מה שהוכחנו לעיל, סדרת ההכלות E E E היא מהצורה, E E E = E. S S S שהופיע לעיל עם סדרת ההכלות k. rnk(e ) < rnk(e ) < < rnk( E ) = 2 ). rnk(e לכן, מסדרת E = E לכל.i k המספר k כאן הוא ה- מההכלות E E E כעת, ליחס נסיק כי Q. F לכן F שהן יש שתי מחלקות שקילות שונות 4 E

) + k rnk( E 2. אבל כמובן,,k n כלומר 2,2 + k n אי השוויונים ) rnk(e ) < rnk(e ) < < rnk( E נסיק כי rnk( E ) n (כי, E הוא יחס על,Q Q = n.( אז יש לנו כנדרש. לפי למה זו, האלגוריתם לזיהוי מצבים שקולים עוצר על כל קלט, וזאת אחר ביצוע הלולאה של צעדים 3 4 2 n פעמים לכל היותר, ובנוסף הוא מסמן את כל זוגות המצבים הניתניים להפרדה באוטומט A. היות וזמן הבצוע של צעד 3 (וגם של צעד 2) הוא פולינומי, אז לפי הלמה, כך גם זמן הריצה של האלגוריתם. ננסח כעת אלגוריתם לצמצום של.DFA הוא יתבסס על האלגוריתם לזיהוי מצבים שקולים, ועל הבניה שראינו בהוכחת המשפט לעיל, על צמצום של אוטומט. אלגוריתם (צמצום אוטומט).A = Q, Σ, δ, q, F קלט: DFA A. A שקול ל- מצומצם DFA פלט: צעדים: A את האלגוריתם לזהוי מצבים שקולים. הרץ על. A. על סמך תוצאת צעד, מצא את כל מחלקות השקילות השונות של מצבים ב- 2. הצג את מחלקות השקילות שנמצאו בצעד 2 כצמתים של גרף של.DFA 3. כמצב סופי. [q] סמן את ] q] כמצב התחלתי, ולכל q F סמן את 4. [( [δ(q,. לצומת [q] ולכל אות קלט, העבר קשת מסומנת מצומת [q] לכל צומת 5. q q 2 q 3 q 4 q 5 q 6 q q 2 q 3 q 4 q 5 את צעד באלגוריתם (כלומר, הרצת האלגוריתם לזיהוי מצבים שקולים) נממש באמצעות טבלה משולשית המכילה תא אחד לכל שני מצבים שונים. הטבלה תהיה מהצורה המוצגת משמאל (למקרה שמספר המצבים באוטומט הוא 7). בהתחלה, כל התאים בטבלה יהיו ריקים. בביצוע צעד באלגוריתם (לזיהוי מצבים שקולים) נרשום X בתא של כל שני מצבים שאחד מהם נמצא ב- F והשני לא. לביצוע צעד 3 נעבור על כל התאים הריקים בטבלה, ולגבי כל תא נבצע את הבדיקה של צעד 3 ונפעל בהתאם. בסוף ההרצה נכריז על כל שני מצבים שהתא שלהם נשאר ריק בסוף ההרצה, כמצבים שקולים. דוגמה A בציור, נקבל: נפעיל את אלגוריתם הצמצום של אוטומט על ה- DFA q, q 2 q q 2 q 3 q 5 q 4 q 3 q 4 q 5 q 6 q 6 q q 2 q 3 q 4 q 5 5

ביצוע צעד, הוא הכנת הטבלה, עם תאים ריקים. בביצוע צעד 2, סומנו עשרה זוגות מצבים, בסימן. בביצוע צעד 3 פעם ראשונה, סומנו עוד שישה זוגות מצבים, בסימן. בביצוע צעד 3 פעם שניה, לא סומנו זוגות חדשים. ההרצה הסתיימה. תוצאת הרצת האלגריתם על האוטומט : A.EQ = { {q, q }, {q, q }, {q, q }, {q, q }, {q, q } } מכאן, שמחלקות השקילות השונות של מצבים ב- A הן:.[q ] = {q, q }, [q ] = {q, q, q }, [q ] = {q, q } A הצמצום של A הוא האוטומט המוצג בגרף: [q ], [q ] [q ]. שפת האוטומט היא שפת כל המילים ב- {,} שמתחילות ומסתיימות ב- שקול לו ומכיל פחות מצבים ממנו. DFA שאין A מינימיזציה של אוטומט אוטומט מינימלי הוא DFA A. האוטומט A שקול ל- A, ולהגיע לאוטומט מצומצם, A נוכל תמיד לצמצם את בהינתן DFA A יש מצבים שאינם ניתנים להשגה, והם נשארים אינו בהכרח אוטומט מינימלי, כי ייתכן שב- המצומצם A,DFA באוטומט לאחר הצימצום. ראינו קודם שתמיד ניתן להסיר את המצבים שאינם ניתנים להשגה ב- DFA שקול, שכל מצביו ניתנים להשגה. נציג אלגורים פשוט שעושה זאת: ולהישאר עם q, יחד עם אלגוריתם (הסרת מצבים שאינם ניתנים להשגה) קלט:. A = Q, Σ, δ, q, F DFA פלט: DFA שקול ל- A, שכל מצביו ניתנים להשגה. צעדים:. חשב את ) R q) לפי האלגוריתם לחישוב קבוצה זו..2 לכל מצב,q Q בדוק אם ), q R (q ואם לא, הסר מהגרף של את הצומת כל הקשתות הנוגעות בו. אם A הוא DFA מצומצם שכל מצביו ניתנים להשגה, אז A הוא בהכרח אוטומט מינימלי. את זה נוכיח במשפט הבא, עלי ידי כך שנראה ש- DFA מצומצם שכל מצביו ניתנים להשגה הוא בעצם האוטומט הקנוני של השפה שלו, אם נתעלם משמות המצבים באוטומט. כלומר DFA כזה יכול להיות שונה מהאוטומט הקנוני של השפה שלו רק בשמות המצבים. בכל פרט אחר, שני האוטומטים זהים. המשפט יוכיח גם את הטענה שלנו וגם את יחידות האוטומט המינימלי של שפה רגולרית. A A מעבר מ- DFA לאוטומט מינימלי שקול ל- נקרא מינימיזציה של A. 6

ז( אלגוריתם (מינימזציה של אוטומט) קלט:. A = Q, Σ, δ, q, F DFA פלט: DFA מינימלי שקול ל- A. צעדים:. הסר את המצבים שאינם ניתנים להשגה ב-, A לפי האלגוריתם הקודם. 2. הפעל את האלגוריתם לצמצום אוטומט על התוצאה של צעד. q F g(q) F יחידות האוטומט המינימלי מעל אותו א"ב. -DFA ים A = Q, Σ, δ, q, F A = Q, Σ, δ, q, F הגדרה: יהיו המקיימת את הדישות הבאות: g: Q Q A זהו פונקציה ל- A. איזומורפיזם מ- חד חד ערכית ועל. g..g (δ (q, )) = δ (g(q), ) : Σ ולכל q Q שומרת על מעברים, כלומר לכל g.2.g(q ) = q שומרת על המצב ההתחלתי, כלומר g.3 q: Q שומרת על מצבים סופים, כלומר עבור g 4..A אם קיים איזומורפיזם g מ- A ל- A A, A ורושמים איזומורפי ל- A. 2 אומרים ש- קל לראות כי היחס הוא יחס שקילות (על קבוצת כל ה- -DFA ים מעל א"ב נתון). שני אוטומטים A A הם איזומורפיים אם (ורק אם) הם זהים בכל הפרטים, פרט אולי לשמות המצבים. DFA משפט: (יחידות האוטומט המינימלי) יהי F A = Q, Σ, δ, q, מצומצם שכל מצביו ניתנים להשגה,.A A.L = L(A).δ(q, xz) F δ(q, yz) F Σ : z לכל.δ(q, z) = δ(p, z) לכל Σ :z.δ(δ(q, x), z) = (δ(q, y), z) לכל Σ :z הם מצבים שקולים באוטומט A (אין מילה מפרידה ביניהם), היות A הוא אוטומט p q מכאן ש-, כנדרש. q = p מצומצם (אין בו מצבים שונים ושקולים) נסיק כי מתקיים g L(q).x לפי הגדרת אז q Q [x] Q. ניקח.q = δ(q, x) (ii) תהי 7 ותהי אזי: הוכחה: לפי ההגדרה A = Q, Σ, δ, q, F כאשר:, (Σ על R קבוצת מחלקות השקילות של היחס (זוהי Q = Σ R = { [x] x Σ }.F = { [x] x L } q, δ ([x], ) = [x] נתונה על יד: δ : Q Σ Q = [ε] ראינו קודם שזה DFA מוגדר היטב וש-.L(A) = L כדי להוכיח את המשפט, נגדיר פונקציה :g Q Q על ידי: [x] g(q) = כאשר x היא מילה (כלשהי).(δ(q Σ בשפת המצב L(q).א x היא מילה ב- שמקיימת, (x = q נשים לב כי היות וכל מצבי האוטמט A ניתנים להשגה,הרי לכל מצב q Q קיימת מילה L(q) x, אבל צריך עדיין להראות ש- g(q) מוגדר היטב ואינו תלוי בבחירת המילה L(q). x לשם כך, נניח כי L(q) x, y ונראה כי [y],[x] = כלומר נראה כי.xR y ואכן:.δ(δ(q :z Σ, x), z) = (δ(q, y), z) לכל.δ(q, x) = δ(q, y) x, y L(q).δ(q z Σ.δ(q : z Σ לכל yz), xz) = δ(q, לכל : F, xz) F δ(q, yz) Σ,xR.xz L yz L : z כנדרש. y לכל.A,g: Q Q ונשאר להראות כי g היא איזומורפיזם מ- A ל- אז יש לנו פונקציה מוגדרת היטב לשם כך עלינו להראות כי: (i) g חח"ע, (ii) g על, (iii) g שומרת על מעברים, (vi) g שומרת על g המצב ההתחלתי (v) שומרת על מצבים מקבלים. ואכן: (i) יהיו q, p Q ונניח כי g(p).g(q) = נראה כי.q = p לשם כך נבחר שתי מלים L(q) x, q = δ(q, (x ניתנים להשגה). אז A יש מילים כאלה כי כל המצבים של (כאמור, y L(p) y), p = δ(q, ולפי הגדרת g מתקיים [x] g(q) = [y].g(p) = כעת:..xz L yz L לכל Σ : z. xr L y.[ x] [ y] g(q) = g(p)

[x].g(q) = על כן g היא על.,x L(q) ואכן, נבחר מילה.g (δ(q, )) = δ (g(q), ) מתקיים: Σ ולכל q Q צ"ל כי לכל (iii) ונסמן ).p = δ(q, אז L(p) x (כי:.(δ(q, x) = δ(δ(q, x), ) = δ(q, ) = p לכן לפי הגדרת g והגדרת נקבבל: ),g δ(q, ) = g(p) = [x] = δ ([x], ) = δ (g(q), כנדרש. g(q ) = [ε]. = q מתקיים g ולכן לפי הגדרת,ε L(q ) הרי δ(q, ε) = q היות (iv) זה אומר ש- g שומרת על המצב ההתחלתי. q = δ(q.q F g(q) F ואכן, נבחר מילה L(q).x אז x), :q Q צ"ל שלכל (v) δ(q [x] F g(q) F, x) F x L [x].g(q) = כעת: הגדרת F q. זה מסיים את הוכחת המשפט. δ 8